cellview: Remove code to modify the background
authorBenjamin Otte <otte@redhat.com>
Mon, 19 Dec 2016 04:18:53 +0000 (05:18 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 19 Dec 2016 04:36:06 +0000 (05:36 +0100)
GtkCellView has a gadget, so peopl can do all their shenanigans with
CSS.

And the original use case (overriding the background so that the
cellview's GdkWindow shares the background color of the combobox) is
outdated since we have transparent backgrounds.

docs/reference/gtk/gtk4-sections.txt
gtk/gtkcellview.c
gtk/gtkcellview.h
tests/testcombo.c

index 6373ee343a95bc998d59d62dac04e1c4ee775426..abc11838d09d5b40084be4f2f69d3795f0cc08d3 100644 (file)
@@ -3996,7 +3996,6 @@ gtk_cell_view_set_model
 gtk_cell_view_get_model
 gtk_cell_view_set_displayed_row
 gtk_cell_view_get_displayed_row
-gtk_cell_view_set_background_rgba
 gtk_cell_view_set_draw_sensitive
 gtk_cell_view_get_draw_sensitive
 gtk_cell_view_set_fit_model
index 9e831f7402fc5ffa73d47889955a9321ab3dee6b..7acf1b06e7da4cc5cb3533c4a3968fe0a11e6059 100644 (file)
@@ -143,14 +143,11 @@ struct _GtkCellViewPrivate
 
   GtkCssGadget        *gadget;
 
-  GdkRGBA              background;
-
   gulong               size_changed_id;
   gulong               row_changed_id;
 
   GtkOrientation       orientation;
 
-  guint                background_set : 1;
   guint                draw_sensitive : 1;
   guint                fit_model      : 1;
 };
@@ -161,9 +158,6 @@ enum
 {
   PROP_0,
   PROP_ORIENTATION,
-  PROP_BACKGROUND,
-  PROP_BACKGROUND_RGBA,
-  PROP_BACKGROUND_SET,
   PROP_MODEL,
   PROP_CELL_AREA,
   PROP_CELL_AREA_CONTEXT,
@@ -199,29 +193,6 @@ gtk_cell_view_class_init (GtkCellViewClass *klass)
   /* properties */
   g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation");
 
-  g_object_class_install_property (gobject_class,
-                                   PROP_BACKGROUND,
-                                   g_param_spec_string ("background",
-                                                        P_("Background color name"),
-                                                        P_("Background color as a string"),
-                                                        NULL,
-                                                        GTK_PARAM_WRITABLE));
-
-  /**
-   * GtkCellView:background-rgba:
-   *
-   * The background color as a #GdkRGBA
-   *
-   * Since: 3.0
-   */
-  g_object_class_install_property (gobject_class,
-                                   PROP_BACKGROUND_RGBA,
-                                   g_param_spec_boxed ("background-rgba",
-                                                      P_("Background RGBA color"),
-                                                      P_("Background color as a GdkRGBA"),
-                                                      GDK_TYPE_RGBA,
-                                                      GTK_PARAM_READWRITE));
-
   /**
    * GtkCellView:model:
    *
@@ -318,13 +289,6 @@ gtk_cell_view_class_init (GtkCellViewClass *klass)
                                                          FALSE,
                                                          GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
 
-  
-#define ADD_SET_PROP(propname, propval, nick, blurb) g_object_class_install_property (gobject_class, propval, g_param_spec_boolean (propname, nick, blurb, FALSE, GTK_PARAM_READWRITE))
-
-  ADD_SET_PROP ("background-set", PROP_BACKGROUND_SET,
-                P_("Background set"),
-                P_("Whether this tag affects the background color"));
-
   gtk_widget_class_set_css_name (widget_class, "cellview");
 }
 
@@ -378,12 +342,6 @@ gtk_cell_view_get_property (GObject    *object,
     case PROP_ORIENTATION:
       g_value_set_enum (value, view->priv->orientation);
       break;
-    case PROP_BACKGROUND_RGBA:
-      g_value_set_boxed (value, &view->priv->background);
-      break;
-    case PROP_BACKGROUND_SET:
-      g_value_set_boolean (value, view->priv->background_set);
-      break;
     case PROP_MODEL:
       g_value_set_object (value, view->priv->model);
       break;
@@ -428,26 +386,6 @@ gtk_cell_view_set_property (GObject      *object,
           g_object_notify_by_pspec (object, pspec);
         }
       break;
-    case PROP_BACKGROUND:
-      {
-        GdkRGBA color;
-
-       if (!g_value_get_string (value))
-          gtk_cell_view_set_background_rgba (view, NULL);
-       else if (gdk_rgba_parse (&color, g_value_get_string (value)))
-          gtk_cell_view_set_background_rgba (view, &color);
-       else
-         g_warning ("Don't know color '%s'", g_value_get_string (value));
-
-        g_object_notify (object, "background-rgba");
-      }
-      break;
-    case PROP_BACKGROUND_RGBA:
-      gtk_cell_view_set_background_rgba (view, g_value_get_boxed (value));
-      break;
-    case PROP_BACKGROUND_SET:
-      view->priv->background_set = g_value_get_boolean (value);
-      break;
     case PROP_MODEL:
       gtk_cell_view_set_model (view, g_value_get_object (value));
       break;
@@ -816,14 +754,6 @@ gtk_cell_view_render (GtkCssGadget *gadget,
   area.width  = width;
   area.height = height;
 
-  /* "blank" background */
-  if (cellview->priv->background_set)
-    {
-      gdk_cairo_rectangle (cr, &area);
-      gdk_cairo_set_source_rgba (cr, &cellview->priv->background);
-      cairo_fill (cr);
-    }
-
   /* set cell data (if available) */
   if (cellview->priv->displayed_row)
     gtk_cell_view_set_cell_data (cellview);
@@ -1255,43 +1185,6 @@ gtk_cell_view_get_displayed_row (GtkCellView *cell_view)
   return gtk_tree_row_reference_get_path (cell_view->priv->displayed_row);
 }
 
-/**
- * gtk_cell_view_set_background_rgba:
- * @cell_view: a #GtkCellView
- * @rgba: the new background color
- *
- * Sets the background color of @cell_view.
- *
- * Since: 3.0
- */
-void
-gtk_cell_view_set_background_rgba (GtkCellView   *cell_view,
-                                   const GdkRGBA *rgba)
-{
-  g_return_if_fail (GTK_IS_CELL_VIEW (cell_view));
-
-  if (rgba)
-    {
-      if (!cell_view->priv->background_set)
-        {
-          cell_view->priv->background_set = TRUE;
-          g_object_notify (G_OBJECT (cell_view), "background-set");
-        }
-
-      cell_view->priv->background = *rgba;
-    }
-  else
-    {
-      if (cell_view->priv->background_set)
-        {
-          cell_view->priv->background_set = FALSE;
-          g_object_notify (G_OBJECT (cell_view), "background-set");
-        }
-    }
-
-  gtk_widget_queue_draw (GTK_WIDGET (cell_view));
-}
-
 /**
  * gtk_cell_view_get_draw_sensitive:
  * @cell_view: a #GtkCellView
index 560fa691b0fce19090f2cb04ff448e3b36139c3b..e96bfe4594acde2bced40578a7a0328a57a88719 100644 (file)
@@ -90,9 +90,6 @@ void              gtk_cell_view_set_displayed_row       (GtkCellView     *cell_v
 GDK_AVAILABLE_IN_ALL
 GtkTreePath      *gtk_cell_view_get_displayed_row       (GtkCellView     *cell_view);
 GDK_AVAILABLE_IN_ALL
-void              gtk_cell_view_set_background_rgba     (GtkCellView     *cell_view,
-                                                         const GdkRGBA   *rgba);
-GDK_AVAILABLE_IN_ALL
 gboolean          gtk_cell_view_get_draw_sensitive      (GtkCellView     *cell_view);
 GDK_AVAILABLE_IN_ALL
 void              gtk_cell_view_set_draw_sensitive      (GtkCellView     *cell_view,
index eeff0aba15084e19734933300d90d8d0579932a6..2f334937689a36e3eade1eac9e8e0f3e92b8bcbb 100644 (file)
@@ -1054,7 +1054,6 @@ main (int argc, char **argv)
         GtkTreeModel *model;
        GtkTreePath *path;
        GtkTreeIter iter;
-       GdkRGBA color;
        GtkCellArea *area;
         gchar *text;
         gint i;
@@ -1237,11 +1236,6 @@ main (int argc, char **argv)
         gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (tmp), renderer,
                                         "text", 1,
                                         NULL);
-        color.red = 1.0;
-        color.blue = 1.0;
-        color.green = 0;
-        color.alpha = 1.0;
-        gtk_cell_view_set_background_rgba (GTK_CELL_VIEW (tmp), &color);
         displayed_row_changed (GTK_COMBO_BOX (combobox), GTK_CELL_VIEW (tmp));
         g_signal_connect (combobox, "changed", G_CALLBACK (displayed_row_changed), tmp);